package com.qf.exception;

import java.util.ArrayList;

/**
 * 演示常见的异常
 */
public class Demo2 {

    public static void main(String[] args) {
        System.out.println("hello");
//        test1();
        test2();

        System.out.println("main 886");

    }

    public static void test2() {
        System.out.println("test2 start");
        try {
            Thread.sleep(1000);
            Class.forName("com.qf.exception.Demo011");
        } catch (InterruptedException e) {
            // 把受检异常转化为 运行时异常抛出
//            throw new RuntimeException(e);
            System.out.println(e.getMessage());
        } catch (ClassNotFoundException e) {
//            throw new RuntimeException(e);
            System.out.println("运行时出现了异常，类没有加载到："+e.getMessage());
//            return; // 让方法正常返回，调用方代码可以继续运行
            // 需要让后续所有代码都无法执行了
            throw new RuntimeException("不想执行后面代码了，想放假了");
        }
        System.out.println("test2 886");


    }


    public static void test1(){

//        int a = 1/0;
        // NullPointerException
//        String s = null;
//        System.out.println(s.length());

        // 数组越界 java.lang.ArrayIndexOutOfBoundsException
//        int[] arr = {1,2,3};
//        System.out.println(arr[-2]);

        // java.lang.IndexOutOfBoundsException
        ArrayList<String> list = new ArrayList<>();
        list.add("hello");
        list.add("world");
        System.out.println(list.get(-1));

    }


}
